Suggesting a recipient of content

ABSTRACT

A system and method for suggesting a recipient of content. An interest profile of at least one contact of a user is determined based on at least one endorsement action of the at least one contact directed to a type of content. A type of content of an unpublished post of the user is determined. The at least one contact is identified as a suggested recipient of the unpublished post of the user based on the interest profile of the at least one contact and the type of content of the unpublished post of the user. The suggested recipient of the unpublished post of the user is provided for display.

BACKGROUND

1. Field

The present disclosure generally relates to sending content torecipients and, more particularly, to suggesting a recipient of thecontent.

2. Description of the Related Art

Social networks, email, and other online content sharing platformscurrently allow users to send, create, and share content with otherusers.

SUMMARY

The disclosed subject matter relates to suggesting a recipient ofcontent. The method includes determining an interest profile of at leastone contact of a user based on at least one endorsement action of the atleast one contact directed to a type of content and determining a typeof content of an unpublished post of the user. The method includesidentifying the at least one contact as a suggested recipient of theunpublished post of the user, the identification based on the interestprofile of the at least one contact and the type of content of theunpublished post of the user. The method additionally provides fordisplay the suggested recipient of the unpublished post of the user.

The disclosed subject matter further relates to a system for suggestinga recipient of content. The system includes one or more processor(s) anda memory containing processor-executable instructions. When executed bythe processor(s), the system determines an interest profile for eachcontact of a plurality of contacts of the user based on at least oneendorsement action of the respective contact directed to a type ofcontent and determines a type of content of an unpublished post of theuser. The system also identifies multiple ones of the plurality ofcontacts as a group of suggested recipients of the unpublished post ofthe user, the identification based on the interest profiles of themultiple ones of the plurality of contacts and the type of content ofthe unpublished post of the user. The system also provides for displaythe group of suggested recipients of the unpublished post of the user.

The disclosed subject matter also relates to a non-transitorymachine-readable storage medium comprising machine-readable instructionsfor suggesting a recipient of content. The method includes determiningan interest profile for each contact of a plurality of contacts of theuser based on at least one endorsement action of the respective contactdirected to a type of content and determining a type of content of anunpublished post of the user. The method further includes identifyingmultiple ones of the plurality of contacts as a group of suggestedrecipients of the unpublished post of the user, the identification basedon the interest profiles of the multiple ones of the plurality ofcontacts and the type of content of the unpublished post of the user.The method further includes aggregating the interest profiles of eachsuggested recipient of the group of suggested recipients to form a groupinterest profile corresponding to the group of suggested recipients andproviding for display the group of suggested recipients of theunpublished post of the user.

It is understood that other configurations of the subject technologywill become readily apparent to those skilled in the art from thefollowing detailed description, wherein various configurations of thesubject technology are shown and described by way of illustration. Aswill be realized, the subject technology is capable of other anddifferent configurations and its several details are capable ofmodification in various other respects, all without departing from thescope of the subject technology. Accordingly, the drawings and detaileddescription are to be regarded as illustrative in nature and not asrestrictive.

Certain features of the subject technology are set forth in the appendedclaims. However, for the purpose of explanation, several aspects of thesubject technology are set forth in the following figures.

FIG. 1 illustrates an example system for suggesting a recipient ofcontent.

FIG. 2 is a block diagram illustrating an example client and server fromthe system of FIG. 1.

FIG. 3 illustrates an example process for suggesting a recipient ofcontent.

FIG. 4 a is an illustration of the flow of aggregating a group interestprofile as it relates to aspects of the subject technology.

FIG. 4 b is an illustration of an example user interface for suggestinga recipient of content.

FIG. 4 c is an illustration of another example user interface forsuggesting a recipient of content.

FIG. 5 is a block diagram illustrating an electronic system with whichsome implementations of the subject technology are implemented.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth to provide a full understanding of the subject technology. It willbe apparent, however, that different aspects of the subject technologymay be practiced without some of these specific details. In otherinstances, well-known structures and techniques have not been shown indetail so as not to obscure the disclosure.

The disclosed subject matter describes systems and techniques forsuggesting a recipient of content. Interest profiles for at least onecontact of a user is determined based on at least one endorsement actionof the contact that is directed to at least one type of content. Theterm “interest profile” as used herein encompasses its plain andordinary meaning, including, but not limited to a collection of dataassociated with a user, contact of a user, or group of users of anonline content sharing platform. The collection of data relates to thetypes of content that the respective user, contact, or group viewsand/or performs endorsement actions on. The interest profile can, insome examples, be determined for each contact of the user and the userin a continuous or ongoing fashion. The interest profile can indicatethe types of content that are favorably acted on by the contact.Accordingly, the interest profile provides a picture of the types ofcontent that the contact frequently enjoys. Interest profiles can, insome examples, also be determined for groups and can take intoconsideration multiple levels of types of content. For instance,high-level types of content can, in some examples, include “music,”“politics,” “technology,” and “food.” Each high-level type of contentcan include several sub-types of content. For example, the type ofcontent “food” can include sub-topics such as “restaurants” or“recipes.” A type of content can be associated with other types orsub-types of content such as “French cuisine” or “aspics.” The interestprofile can consider endorsement actions such as referring to multipletypes of content at once. For instance, an article on aspics served atthe presidential inaugural ball may be determined to be both in “Frenchcuisine” and “aspics” as well as “food.” The type of content of thearticle may also include “politics” as the article is also associatedwith a political event.

The term “endorsement action” as used herein encompasses the plain andordinary meaning of the words, endorsement including, but not limited toany action taken by a user or contact of a user that indicates apositive inclination and/or interest towards a piece of content.Examples of endorsement actions include, but are not limited to, anindication of approval for a piece of content provided through userinteraction with a graphical component; a recommendation of a piece ofcontent; a re-post of a piece of content; multiple views of a piece ofcontent; a comment on a piece of content; replying to a piece ofcontent; forwarding a piece of content; saving a piece of content;sharing a piece of content; subscribing to a newsletter, blog, microblog, or periodical publication; and multiple searches for a piece ortype of content.

The type of content of an unpublished post of the user is determined.More than one type of content can, in some examples, be determined forthe unpublished post and the type of content may be any one or multipletypes of content that are considered in the identification of theinterest profile for the user or user's contacts. The user's unpublishedpost can include content that the user has received from anothercontact, content that the user wishes to republish, content generated bythe user, or a combination. The type of content can be determined bytext analysis, can be determined based on previous postings of thecontent, or can be determined based on information provided by userentry.

The unpublished post of the user includes posts of the user that arecapable of being published to a stream of content of other users, theuser's contacts, or groups of the user's contacts. An unpublished postmay be copied and pasted from another source, composed by the user, orotherwise entered into a portion of the user's interface that allows theuser to send the unpublished post to another user or group of users. Anunpublished post of the user can, in some examples, additionally becontent that is displayed to the user in a manner that allows the userto publish the unpublished post to another user by clicking, passing amouse over, or otherwise selecting a graphical component.

At least one contact is identified as a suggested recipient of theunpublished post of the user based on the interest profile of thecontact and the type of content of the unpublished post of the user. Forinstance, contacts whose interest profiles indicate a large number ofendorsement actions or a large percentage of overall endorsement actionsfor the type of content “food” may be suggested as a recipient for anunpublished post with a type of content for “food.” A group of contacts,generated based on interest profiles or from a pre-existing or userestablished group, can be suggested as recipients. Any combination ofindividual contacts, groups determined based on interest profile, andpre-existing, user established groups can be suggested as recipients.

The suggested recipient of the unpublished post of the user is thenprovided for display. The display can, in some examples, be providedfollowing a request for the suggested recipients entered by the userthrough a graphical component or may automatically be provided fordisplay. An icon indicating interest for the type of content or aportion of the suggested recipient's interest profile can be displayed.The display may provide further access to the contact names of a groupof suggested recipients and some or all of the interest profiles ofthose suggested recipients. The display can provide access to the groupinterest profile of a group of suggested recipients.

The user can, in some examples, adjust appropriate privacy settings toselectively limit the types of information that is shared with otherusers. Users can, in some examples, adjust appropriate privacy settingsto selectively limit the types of information that are disseminated toother users.

Turning to the drawings, FIG. 1 illustrates an example system 100 forsuggesting a recipient of content. The system 100 includes clients 110and servers 130 connected over a network 150.

The system 100 is comprised of client(s) 110, server(s) 130 and thenetwork 150 in any combination or configuration that allows forsuggesting a recipient of content, including implementations withmultiple servers 130. For instance, a user can interact with client 110for the purposes of entering content for posting, selecting recipientsto which the post will be entered, and viewing portions of interestprofiles, among other interactions. Contacts of the user can also reador display pieces of content and perform endorsement actions on thepieces of content via client 110. Data input by the user and contacts ofthe user via client 110 can be sent over network 150 to server 130. Theserver 130 then determines interest profiles of the contacts of the userand the user, determines a type of content of an unpublished post of theuser, and identifies the contact of the user based on the interestprofile of the contact and the type of content of the unpublished postof the user. The suggested recipient is then provided from server 130over network 150 for display on client 110.

Each of the clients 110 can be, for example, a desktop computer, alaptop computer, a mobile device (e.g., a smartphone, tablet computer,or PDA), a set top box (e.g., for a television), a video game console,or any other device having an appropriate processor, memory, andcommunications capabilities. In certain instances, different versionsand/or configurations of the system that include subject technology asdisclosed herein are available for download from a server 130 andsubsequent installation on client 110. The servers 130 can be any devicehaving a processor, memory, and communications capability for hostingthe data for installing and hosting the system. The network 150 caninclude, for example, any one or more of a personal area network (PAN),a local area network (LAN), a campus area network (CAN), a metropolitanarea network (MAN), a wide area network (WAN), a broadband network(BBN), the Internet, and the like. Further, the network 150 can include,but is not limited to, any one or more of the following networktopologies, including a bus network, a ring network, a mesh network, astar-bus network, tree or hierarchical network, and the like.

FIG. 2 is a block diagram illustrating an example client and server fromthe system 100 of FIG. 1 according to certain aspects of the subjecttechnology. The client 110 and the server 130 are connected over thenetwork 150 via respective communications modules 218 and 238 and areconfigured to interface with the network 150 to send and receiveinformation, such as data, requests, responses, and commands to otherdevices on the network. The communications modules 218 and 238 can be,for example, modems or Ethernet cards.

The client 110 includes a processor 212, a communications module 218,and a memory 220 that can, in some examples, include a recipientsuggestion module 224. The processor 212 of the client 110 is configuredto execute instructions, such as instructions physically coded into theprocessor 212, instructions received from software in memory 220, or acombination of both. For example, the input device 216 can providetextual information to processor 212 which is processed by a recipientsuggestion module 224 stored in memory 220. The textual information canthen be sent through network 150 via communications module 218 to server130, which receives the information through communications module 238.

Server 130 includes a processor 236, a communications module 238, and amemory 232 that can include a recipient suggestion module 234. Processor236 is configured to execute instructions, such as instructionsphysically coded into the processor 236, instructions received fromsoftware in memory 232, or a combination of both. Processor 236processes information from recipient suggestion module 234 and sendsinformation through communications module 238, through network 150, toclient 110 to be displayed on output device 214.

In an alternative embodiment, a recipient suggestion module 224 can bedownloaded directly to client 110 for off-line use with client 110.Services may differ from the services of recipient suggestion module 234of server 130 in a client side implementation. For instance, recipientsuggestion module 224 may use only information that is stored in memory220 while off-line. For example, updated information regarding interestprofiles of contacts of the user may not be available while client 110is off-line.

FIG. 3 illustrates an example process 300 for suggesting a recipient ofcontent as shown by the example client 110 and server 130 of FIG. 2 thatcan provide for suggesting a recipient of content. Although process 300of FIG. 3 is described with reference to FIG. 2, the process 300 is notlimited to such a configuration and can be applied to other systems andconfigurations.

The process begins with step S310, when recipient suggestion module 234of server 130 determines an interest profile of at least one contact ofa user based on at least one endorsement action of the at least onecontact directed to a type of content. The system 200 can, in someexamples, continuously or regularly update the interest profiles of eachcontact of the user. An interest profile for the user may additionallybe determined. Endorsement actions of a contact can, in some examples,include an indication of approval for a piece of content, a re-post of apiece of content, a number of views of a piece of content, a comment ona piece of content, or the like. Endorsement actions of a contact may belimited to actions of a contact within a social networking website, ormay be accumulated through multiple applications or websites. Theinterest profile of each contact of the user can, in some examples, bedetermined as a set of percentages or ratios of a number of endorsementactions for each type of content to a total number of endorsementactions of the contact. Endorsement actions can, in some examples,include multiple different types of actions, and ratios of interest maybe differently weighted or compiled based on the type of action, thetime span in which the actions are taken, the frequency with which acontact performs endorsement actions, or based on a total number ofactions performed by the contact. Endorsement actions can be associatedwith one or more types of content. For instance, types of content may behierarchically structured so that an endorsement action is consideredfor the top level type of content, as well as a sub-type of the content.The interest profile can, in some examples, contain different sets ofstatistics, percentages, or ratios based on each type of content, basedon the levels of types of content, or based on the type of endorsementaction performed.

In step S320, recipient suggestion module 234 of server 130 determines atype of content of an unpublished post of the user. The content of theunpublished post of the user may be entered via an input device 216 ofclient 110 and transmitted over network 150. Content of the unpublishedpost of the user can be entirely generated by the user, comprise orinclude content that was previously received in a post by the user, orcomprise or include content from any other source. The determination oftype of content can be performed as the user enters content or may takeplace after the user has completed entry of the content for theunpublished post. The type of content can be determined by textanalysis, other automated method, or can be provided through user input.Type of content of the user's unpublished post can correspond to typesof content that are established in the interest profiles of the user'scontacts, including hierarchical content types. The unpublished post ofthe user may comprise multiple types of content.

In step S330, recipient suggestion module 234 of server 130 identifiesthe at least one contact as a suggested recipient of the unpublishedpost of the user, the identification based on the interest profile ofthe at least one contact and the type of content of the unpublished postof the user. The identification can be determined based on the interestprofile of one or more contacts of the user. A suggested recipient canbe determined if the respective contact's interest profile has a ratioof interest for the type of content of the message that is above athreshold. Suggested recipients can be determined comparative to theinterest profile of the user's other contacts. For example, the fivecontacts having the greatest interest in the type of content of themessage may be identified as suggested recipients. The recipientsuggestion module 234 may accordingly determine a group of suggestedrecipients for the unpublished message based on the interest profiles ofthe individual contacts. Following the determination of a group ofsuggested recipients based on the respective interest profiles of theindividual contacts, an aggregate interest profile for the suggestedgroup of recipients may be determined. The group of suggested recipientscan, in some examples, constitute a pre-existing, user established groupof contacts. The determination of a pre-existing, user established groupof contacts as a group of suggested contacts may be based on a groupinterest profile that has previously been determined based on theaggregation of the individual interests of the contacts that comprisethe group.

The process ends in step S340 when the recipient suggestion module 234of server 130 provides for display on client 110 the suggested recipientof the unpublished post of the user. The suggested recipient canautomatically be provided for display in conjunction with theunpublished post of the user. The suggested recipient may be accessiblefrom the user interface via a graphical component. That is, the user canselect the graphical component to view the suggested recipient. Thedisplay can, in some examples, include a listing of user names or otheridentifying information associated with the suggested recipients. Anindication of the interest profile of the suggested recipient canadditionally be provided. For instance, an “interest meter” may beprovided, which indicates the percent of the suggested recipient'sendorsement actions that correspond with the type of content associatedwith the unpublished post. The “interest meter” can be a graphicalcomponent that provides further access to some or all of the suggestedrecipient's interest profile. The “interest meter” icon can correspondwith a group of suggested recipients. Display of suggested recipientsthat constitute a group may include a list of the contacts in the groupand may provide individual interest profiles of the members or anaggregated group interest profile.

FIG. 4 a is a flow diagram illustrating an example process 400 ofaggregating information from individual interest profiles to form agroup interest profile for suggesting a recipient of content. A group ofcontacts of the user 410 may comprise a user-established group ofcontacts or a group may be determined based on a similarity found inmultiple contacts' interest profiles. The user may designate a group ofcontacts at any time and may label or otherwise identify the group. Theuser may have the ability to include or exclude the group of contacts asrecipients of a post without individually identifying each contact ofthe group. The group of contacts of the user 410 can, in some examples,be determined as a group of suggested recipients by recipient suggestionmodule 234 of server 130 specifically in consideration for receipt of anunpublished post that has been or is being drafted by the user. Thegroup of contacts of the user 410 is comprised of multiple contacts 420.Although three contacts are explicitly shown, the group of contacts 410may include any number of contacts, as illustrated by the ellipses undercontacts 420. Each contact 420 can have an individual interest profile430 that is determined based on the respective contact's endorsementactions. One expression of this interest profile may be in the form of aset of percents or a set of ratios of a number of endorsement actionsfor each type of content that the contact has performed to a totalnumber of endorsement actions of the at least one contact of the user. Apie chart such as the pie charts representing the interest profiles 430of each contact of the group can represent the total endorsement actionsperformed by the respective contact. Each differently patterned portionof the pie charts representing interest profiles 430 and 440 mayrepresent a different type of content that has received endorsementactions from the respective contact or group. The percentages marked onthe pie chart represent the percent of endorsement actions that havebeen performed for each type of content. Types of content that have hadno endorsement actions associated with the contact may not appear in apie chart representation such as those depicted in the figure; suchinformation may, however, comprise part of a contact's interest profile.Varying representations of interest can be obtainable for each contact.For instance, in a hierarchical set of types of content, a pie chart mayrepresent the highest level of types of content. Another pie chart maybe available to represent each high-level type of content, with “slices”for each sub-type of content that the user has performed an endorsementaction on. The relevant information from the interest profile can bechosen by recipient suggestion module 234 of server 130 based on thetype of content of the user's unpublished post. Each pie chartrepresenting an interest profile 430, however, represents the same levelof type of content (e.g., each pie chart 430 for each contact may be asingle sub-topic, or each pie chart 430 for each contact may be ahigh-level type of content pie chart). A group interest profile 440 canbe formed based on the individual profiles of each contact of the groupof contacts of the user 410. The group interest profile 440 can becompiled by an average or weighted average of the interest profiles 430of each of the contacts of the group 410.

FIG. 4 b is an illustration of an example user interface 405 forsuggesting a recipient of content. The user may input content for a postin a designated portion 415 of the user interface 405. During orfollowing the user's completion of entering the content of the post, therecipient suggestion module 234 of server 130 can determine one or moretypes of content associated with the post. The user may explicitlydesignate recipients of the post 425 by designating an individualcontact or a group of contacts. The user can designate recipientsthrough graphical component 445. The user can publish the post throughgraphical component 455. The user can access suggested recipientsthrough graphical component 435. Upon clicking, passing a mouse over, orotherwise selecting the suggested recipients graphical component 435,the user can be provided with a display of suggested recipients thathave been chosen as recipients of the post based on the interestprofiles of the suggested recipients and the type of content of thecontent that has been input in designated area 415. Although notillustrated, the user may be provided with suggested recipients withoutinteracting with graphical component 435. Upon accessing the suggestedrecipients, the user may be provided with some or all of the suggestedrecipient's interest profile. The user may further be able to accesssome or all of the suggested recipient's interest profile by choosing agraphical component (not shown).

FIG. 4 c is an illustration of another example user interface 407 forsuggesting a recipient of content. The user interface 407 illustrates auser interface that allows the current user to view received posts 457that have been sent from or posted by other contacts (or previouslyposted by the user herself) in a format which enables the user tore-post or share the received posts 457 with the user's contacts. Theuser may be presented with a group-centric recipient format 467, whichallows the user to view an “interest meter” icon 427 associated witheach received post 457. The “interest meter” can reflect the groupinterest profile of the selected group (e.g., recipient group 1 of FIG.4 c). The user may select a pre-existing group of contacts and view the“interest meter” before deciding to share that post with that group ofrecipients. The user may have pre-existing groups of contacts 437 and447. In order to gauge the interest of recipient group 1, the userselects tab 447. The user may alternatively select recipient group 2 orrecipient group 3 by selecting one of tabs 437. The “interest meter”icons 427 then display the interest of recipient group 1 for each of thedisplayed posts 457 based on a comparison of a group interest profileassociated with recipient group 1 and the determined type of content ofeach of the posts 457. The “interest meter” icons 427 represent thepercent interest of the recipient group. For instance, the top most“interest meter” icon 427 indicates approximately 25% interest forrecipient group 1, while the bottom most “interest meter” icon 427indicates approximately 90% interest for recipient group 1. Thus, theuser can determine that content of post 3 is most likely to positivelyengage the contacts of recipient group 1. The user can then click, passa mouse over, or otherwise select graphical component 417 to re-publishthe post to the selected recipient group 1. The “interest meter” iconcan be, in some examples, a graphical component that provides the userwith additional interest profile information of the group or the membersof the group upon clicking, passing a mouse over, or otherwise selectingthe icon 427. Information regarding interest profiles of individualcontacts or groups of contacts may be accessible through a menu entryfor interest profiles 437.

Many of the above-described features and applications are implemented assoftware processes that are specified as a set of instructions recordedon a computer-readable storage medium (also referred to ascomputer-readable medium). When these instructions are executed by oneor more processing unit(s) (e.g., one or more processors, cores ofprocessors, or other processing units), they cause the processingunit(s) to perform the actions indicated in the instructions. Examplesof computer-readable media include, but are not limited to, CD-ROMs,flash drives, RAM chips, hard drives, EPROMs, etc. The computer-readablemedia does not include carrier waves and electronic signals passingwirelessly or over wired connections.

In this specification, the term “software” is meant to include firmwareresiding in read-only memory or applications stored in magnetic storage,which can be read into memory for processing by a processor. Also, insome implementations, multiple software aspects of the subjecttechnology can be implemented as sub-parts of a larger program whileremaining distinct software aspects of the subject technology. In someimplementations, multiple software aspects can also be implemented asseparate programs. Finally, any combination of separate programs thattogether implement a software aspect described here is within the scopeof the subject technology. In some implementations, the softwareprograms, when installed to operate on one or more electronic systems,define one or more specific machine implementations that execute andperform the operations of the software programs.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

FIG. 5 conceptually illustrates an electronic system with which someimplementations of the subject technology are implemented. Electronicsystem 500 can be a computer, phone, PDA, or any other sort ofelectronic device. Such an electronic system includes various types ofcomputer-readable media and interfaces for various other types ofcomputer-readable media. Electronic system 500 includes a bus 508,processing, unit(s) 512, a system memory 504, a read-only memory (ROM)510, a permanent storage device 502, an input device interface 514, anoutput device interface 506, and a network interface 516.

Bus 508 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices ofelectronic system 500. For instance, bus 508 communicatively connectsprocessing unit(s) 512 with ROM 510, system memory 504, and permanentstorage device 502.

From these various memory units, processing unit(s) 512 retrievesinstructions to execute and data to process in order to execute theprocesses of the subject technology. The processing unit(s) can be asingle processor or a multi-core processor in different implementations.

ROM 510 stores static data and instructions that are needed byprocessing unit(s) 512 and other modules of the electronic system.Permanent storage device 502, on the other hand, is a read-and-writememory device. This device is a non-volatile memory unit that storesinstructions and data even when electronic system 500 is off. Someimplementations of the subject technology use a mass-storage device(such as a magnetic or optical disk and its corresponding disk drive) aspermanent storage device 502.

Other implementations use a removable storage device (such as a floppydisk, flash drive, and its corresponding disk drive) as permanentstorage device 502. Like permanent storage device 502, system memory 504is a read-and-write memory device. However, unlike storage device 502,system memory 504 is a volatile read-and-write memory, such as a randomaccess memory. System memory 504 stores some of the instructions anddata that the processor needs at runtime. In some implementations, theprocesses of the subject technology are stored in system memory 504,permanent storage device 502, and/or ROM 510. For example, the variousmemory units include instructions for suggesting a recipient of contentin accordance with some implementations. From these various memoryunits, processing unit(s) 512 retrieves instructions to execute and datato process in order to execute the processes of some implementations.

Bus 508 also connects to input and output device interfaces 514 and 506.Input device interface 514 enables the user to communicate informationand select commands to the electronic system. Input devices used withinput device interface 514 include, for example, alphanumeric keyboardsand pointing devices (also called “cursor control devices”). Outputdevice interfaces 506 enables, for example, the display of imagesgenerated by the electronic system 500. Output devices used with outputdevice interface 506 include, for example, printers and display devices,such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Someimplementations include devices such as a touchscreen that functions asboth input and output devices.

Finally, as shown in FIG. 5, bus 508 also couples electronic system 500to a network (not shown) through a network interface 516. In thismanner, the computer can be a part of a network of computers such as alocal area network (“LAN”), a wide area network (“WAN”), or an Intranet,or a network of networks, such as the Internet. Any or all components ofelectronic system 500 can be used in conjunction with the subjecttechnology.

These functions described above can be implemented in digital electroniccircuitry, in computer software, firmware or hardware. The techniquescan be implemented using one or more computer program products.Programmable processors and computers can be included or packaged asmobile devices. The processes and logic flows can be performed by one ormore programmable processors and by one or more programmable logiccircuitry. General and special purpose computing devices and storagedevices can be interconnected through communication networks.

Some implementations include electronic components, such asmicroprocessors, storage and memory that store computer programinstructions in a machine-readable or computer-readable medium(alternatively referred to as computer-readable storage media,machine-readable media, or machine-readable storage media). Someexamples of such computer-readable media include RAM, ROM, read-onlycompact discs (CD-ROM), recordable compact discs (CD-R), rewritablecompact discs (CD-RW), read-only digital versatile discs (e.g., DVD-ROM,dual-layer DVD-ROM), a variety of recordable/rewritable DVDs (e.g.,DVD-RAM, DVD-RW, DVD+RW, etc.), flash memory (e.g., SD cards, mini-SDcards, micro-SD cards, etc.), magnetic and/or solid state hard drives,read-only and recordable Blu-Ray® discs, ultra density optical discs,any other optical or magnetic media, and floppy disks. Thecomputer-readable media can store a computer program that is executableby at least one processing unit and includes sets of instructions forperforming various operations. Examples of computer programs or computercode include machine code, such as is produced by a compiler, and filesincluding higher-level code that are executed by a computer, anelectronic component, or a microprocessor using an interpreter.

While the above discussion primarily refers to microprocessors ormulti-core processors that execute software, some implementations areperformed by one or more integrated circuits, such as applicationspecific integrated circuits (ASICs) or field programmable gate arrays(FPGAs). In some implementations, such integrated circuits executeinstructions that are stored on the circuit itself.

As used in this specification and any claims of this application, theterms “computer”, “server”, “processor”, and “memory” all refer toelectronic or other technological devices. These terms exclude people orgroups of people. For the purposes of the specification, the termsdisplay or displaying means displaying on an electronic device. As usedin this specification and any claims of this application, the terms“computer-readable medium” and “computer-readable media” are entirelyrestricted to tangible, physical objects that store information in aform that is readable by a computer. These terms exclude any wirelesssignals, wired download signals, and any other ephemeral signals.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube) or LCD (liquidcrystal display) monitor, for displaying information to the user and akeyboard and a pointing device, e.g., a mouse or a trackball, by whichthe user can provide input to the computer. Other kinds of devices canbe used to provide for interaction with a user as well; for example,feedback provided to the user can be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback; and input fromthe user can be received in any form, including acoustic, speech, ortactile input. In addition, a computer can interact with a user bysending documents to and receiving documents from a device that is usedby the user; for example, by sending web pages to a web browser on auser's client device in response to requests received from the webbrowser.

Aspects of the subject matter described in this specification can beimplemented in a computing system that includes a back end component,e.g., as a data server, or that includes a middleware component, e.g.,an application server, or that includes a front end component, e.g., aclient computer having a graphical user interface or a web browserthrough which a user can interact with an implementation of the subjectmatter described in this specification, or any combination of one ormore such back end, middleware, or front end components. The componentsof the system can be interconnected by any form or medium of digitaldata communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), an inter-network (e.g., the Internet), andpeer-to-peer networks (e.g., ad hoc peer-to-peer networks).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. In someaspects, a server transmits data (e.g., an HTML page) to a client device(e.g., for purposes of displaying data to and receiving user input froma user interacting with the client device). Data generated at the clientdevice (e.g., a result of the user interaction) can be received from theclient device at the server.

It is understood that any specific order or hierarchy of steps in theprocesses disclosed is an illustration of example approaches. Based upondesign preferences, it is understood that the specific order orhierarchy of steps in the processes may be rearranged, or that allillustrated steps be performed. Some of the steps may be performedsimultaneously. For example, in certain circumstances, multitasking andparallel processing may be advantageous. Moreover, the separation ofvarious system components in the aspects described above should not beunderstood as requiring such separation in all aspects, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

The previous description is provided to enable any person skilled in theart to practice the various aspects described herein. Variousmodifications to these aspects will be readily apparent to those skilledin the art, and the generic principles defined herein may be applied toother aspects. Thus, the claims are not intended to be limited to theaspects shown herein, but are to be accorded the full scope consistentwith the language claims, wherein reference to an element in thesingular is not intended to mean “one and only one” unless specificallyso stated, but rather “one or more.” Unless specifically statedotherwise, the term “some” refers to one or more. Pronouns in themasculine (e.g., his) include the feminine and neuter gender (e.g., herand its) and vice versa. Headings and subheadings, if any, are used forconvenience only and do not limit the subject technology.

A phrase such as an “aspect” does not imply that such aspect isessential to the subject technology or that such aspect applies to allconfigurations of the subject technology. A disclosure relating to anaspect may apply to all configurations, or one or more configurations. Aphrase such as an aspect may refer to one or more aspects and viceversa. A phrase such as a “configuration” does not imply that suchconfiguration is essential to the subject technology or that suchconfiguration applies to all configurations of the subject technology. Adisclosure relating to a configuration may apply to all configurations,or one or more configurations. A phrase such as a configuration mayrefer to one or more configurations and vice versa.

The word “exemplary” is used herein to mean “serving as an example orillustration.” Any aspect or design described herein as “exemplary” isnot necessarily to be construed as preferred or advantageous over otheraspects or designs.

All structural and functional equivalents to the elements of the variousaspects described throughout this disclosure that are known or latercome to be known to those of ordinary skill in the art are expresslyincorporated herein by reference and are intended to be encompassed bythe claims.

What is claimed is:
 1. A computer-implemented method for suggesting arecipient of content, the method comprising: determining an interestprofile of at least one contact of a user based on at least oneendorsement action of the at least one contact directed to a type ofcontent; determining a type of content of an unpublished post of theuser; identifying the at least one contact as a suggested recipient ofthe unpublished post of the user, the identification based on theinterest profile of the at least one contact and the type of content ofthe unpublished post of the user, wherein the at least one contactcomprises a plurality of contacts, each contact of the plurality ofcontacts having a respective determined interest profile and wherein thesuggested recipient is a group of suggested recipients comprisingmultiple ones of the plurality of contacts; aggregating the interestprofiles of each suggested recipient of the group of suggestedrecipients to form a group interest profile corresponding to the groupof suggested recipients; and providing for display the suggestedrecipient of the unpublished post of the user.
 2. The method of claim 1,the method further comprising: providing for display of an indicator foreach suggested recipient of the group of suggested recipients, whereineach indicator is based on the interest profile of each respectivesuggested recipient.
 3. The method of claim 1, the method furthercomprising: providing for display an indicator based on a portion of thegroup interest profile.
 4. The method of claim 1, wherein the group ofsuggested recipients comprises a user-established group of contacts. 5.The method of claim 4, the method further comprising: aggregating theinterest profiles of each contact of the user-established group ofcontacts to form a group interest profile corresponding to theuser-established group of contacts, wherein the group of suggestedrecipients is identified based on the group interest profilecorresponding to the user-established group of contacts.
 6. The methodof claim 1, wherein the unpublished post of the user is a post forpublication to a stream of content of another user.
 7. The method ofclaim 1, wherein the unpublished post of the user comprises contentassociated with a portion of a user interface that is capable of sendingcontent for display to another user.
 8. The method of claim 1, whereinthe endorsement action of the at least one contact comprises anindication of approval for apiece of content, a re-post of a piece ofcontent, a number of views of a piece of content, or a comment on apiece of content.
 9. The method of claim 1, wherein determining theinterest profile of the at least one contact of the user comprises:identifying at least one endorsement action of the at least one contactof the user; and establishing the interest profile of the at least onecontact of the user as a set of ratios, wherein the set of ratioscorresponds to a number of endorsement actions for each endorsed type ofcontent to a total number of endorsement actions of the at least onecontact of the user.
 10. The method of claim 1, wherein the step ofproviding for display is performed upon the receipt of a request inputthrough a graphical component of a user interface.
 11. The method ofclaim 1, further comprising: providing for display an indicator based ona portion of the interest profile of the suggested recipient.
 12. Themethod of claim 11, wherein the indicator comprises statisticalinformation associated with the interest profile of the suggestedrecipient.
 13. The method of claim 1, wherein a portion of the interestprofile of the suggested recipient is accessible from the display of thesuggested recipient.
 14. A system for suggesting a recipient of content,the system comprising: one or more processors; and a memory containingprocessor-executable instructions that, when executed by the one or moreprocessors, cause the system to: determine an interest profile for eachcontact of a plurality of contacts of the user based on at least oneendorsement action of the respective contact directed to a type ofcontent; determine a type of content of an unpublished post of the user;identify multiple ones of the plurality of contacts as a group ofsuggested recipients of the unpublished post of the user, theidentification based on the interest profiles of the multiple ones ofthe plurality of contacts and the type of content of the unpublishedpost of the user; aggregate the interest profiles of each suggestedrecipient of the group of suggested recipients to form a group interestprofile corresponding to the group of suggested recipients; and providefor display the group of suggested recipients of the unpublished post ofthe user.
 15. The system of claim 14, wherein the group of suggestedrecipients comprises a user-established group of contacts.
 16. Thesystem of claim 14, wherein the system is further caused to provide fordisplay of an indicator for each suggested recipient of the group ofsuggested recipients, wherein each indicator is based on the interestprofile of each respective suggested recipient.
 17. The system of claim14, wherein the system is further caused to provide for display anindicator based on a portion of the group interest profile.
 18. Thesystem of claim 14, wherein the endorsement action of each respectivecontact of the plurality of contacts comprises an indication of approvalfor a piece of content, a re-post of a piece of content, a number ofviews of a piece of content, or a comment on a piece of content.
 19. Thesystem of claim 14, wherein the system is caused to determine theinterest profile of each contact of the plurality of contacts by causingthe system to: identify at least one endorsement action of therespective contact of the plurality of contacts of the user; andestablish the interest profile of the respective contact as a set ofratios, wherein the set of ratios corresponds to a number of endorsementactions for each endorsed type of content to a total number ofendorsement actions of the respective contact.
 20. The system of claim14, wherein the system is caused to provide for display upon the receiptof a request input through a graphical component of a user interface.21. The system of claim 14, wherein the system is further caused toprovide for display of an indicator based on a portion of the interestprofiles of the group of suggested recipients.
 22. The system of claim21, wherein the indicator comprises statistical information associatedwith each interest profile of the suggested recipients of the group ofsuggested recipients.
 23. The system of claim 14, wherein a portion ofeach interest profile of each suggested recipient of the group ofsuggested recipients is accessible from the display of the group ofsuggested recipients.
 24. A non-transitory machine-readable storagemedium comprising machine-readable instructions for performing a methodfor suggesting a recipient of content, the method comprising:determining an interest profile for each contact of a plurality ofcontacts of the user base on at least one endorsement action of therespective contact directed to a type of content; determining a type ofcontent of art unpublished post of the user; identifying multiple onesof the plurality of contacts as a group of suggested recipients of theunpublished post of the user, the identification based on the interestprofiles of the multiple ones of the plurality of contacts and the typeof content of the unpublished post of the user; aggregating the interestprofiles of each suggested recipient of the group of suggestedrecipients to form a group interest profile corresponding to the groupof suggested recipients; and providing for display the group ofsuggested recipients of the unpublished post of the user.